[INFO] cloning repository https://github.com/syncliteio/synclite-logger-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/syncliteio/synclite-logger-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyncliteio%2Fsynclite-logger-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyncliteio%2Fsynclite-logger-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 43a185d858cb96bf681df6af628130045731400f
[INFO] fixing syncliteio/synclite-logger-rust against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsyncliteio%2Fsynclite-logger-rust" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/syncliteio/synclite-logger-rust
[INFO] finished tweaking git repo https://github.com/syncliteio/synclite-logger-rust
[INFO] tweaked toml for git repo https://github.com/syncliteio/synclite-logger-rust written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/syncliteio/synclite-logger-rust on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/syncliteio/synclite-logger-rust already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 81316fd1a6451338a499b5200b0d94aa3cc36e57bb2b13c391bbf59c6de4fbf3
[INFO] running `Command { std: "docker" "start" "81316fd1a6451338a499b5200b0d94aa3cc36e57bb2b13c391bbf59c6de4fbf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "81316fd1a6451338a499b5200b0d94aa3cc36e57bb2b13c391bbf59c6de4fbf3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81316fd1a6451338a499b5200b0d94aa3cc36e57bb2b13c391bbf59c6de4fbf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "81316fd1a6451338a499b5200b0d94aa3cc36e57bb2b13c391bbf59c6de4fbf3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating crates/logger/core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/config/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/metadata/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/db-traits/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/log/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/db-sqlite/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/db-duckdb/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/archiver/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/shipper/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/consolidator/core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/consolidator/state/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/consolidator/runtime/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/observability/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/synclite/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/runtime/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/bindings-c/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/bindings-python/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/bindings-java/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling libsqlite3-sys v0.37.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]     Checking hashlink v0.11.0
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]     Checking arrow-schema v58.3.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]     Checking lexical-util v1.0.7
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]     Checking hybrid-array v0.4.12
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]     Checking logger-core v1.0.0 (/opt/rustwide/workdir/crates/logger/core)
[INFO] [stderr]    Migrating crates/logger/core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking rusqlite v0.39.0
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking cmov v0.5.3
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling zlib-rs v0.6.3
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]     Checking ctutils v0.4.2
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]     Checking block-buffer v0.12.0
[INFO] [stderr]     Checking crypto-common v0.2.2
[INFO] [stderr]     Checking lexical-write-integer v1.0.6
[INFO] [stderr]     Checking lexical-parse-integer v1.0.6
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]     Checking const-oid v0.10.2
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]     Checking digest v0.11.3
[INFO] [stderr]     Checking lexical-parse-float v1.0.6
[INFO] [stderr]     Checking lexical-write-float v1.0.6
[INFO] [stderr]     Checking arrow-buffer v58.3.0
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking lexical-core v1.0.6
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking comfy-table v7.1.4
[INFO] [stderr]    Compiling rust_decimal v1.42.0
[INFO] [stderr]     Checking arrow-data v58.3.0
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking chacha20 v0.10.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking logger-log v1.0.0 (/opt/rustwide/workdir/crates/logger/log)
[INFO] [stderr]     Checking logger-db-traits v1.0.0 (/opt/rustwide/workdir/crates/logger/db-traits)
[INFO] [stderr]    Migrating crates/logger/log/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking unicode-properties v0.1.4
[INFO] [stderr]    Migrating crates/logger/db-traits/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking rand v0.10.1
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking arrow-array v58.3.0
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking sha2 v0.11.0
[INFO] [stderr]     Checking hmac v0.13.0
[INFO] [stderr]     Checking md-5 v0.11.0
[INFO] [stderr]     Checking siphasher v1.0.3
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking fallible-iterator v0.2.0
[INFO] [stderr]     Checking phf_shared v0.13.1
[INFO] [stderr]     Checking postgres-protocol v0.6.11
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]     Checking postgres-types v0.2.13
[INFO] [stderr]    Compiling zip v6.0.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking whoami v2.1.2
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking arrow-select v58.3.0
[INFO] [stderr]     Checking arrow-arith v58.3.0
[INFO] [stderr]    Compiling libduckdb-sys v1.10502.0
[INFO] [stderr]     Checking arrow-row v58.3.0
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking consolidator-core v1.0.0 (/opt/rustwide/workdir/crates/consolidator/core)
[INFO] [stderr]     Checking logger-db-sqlite v1.0.0 (/opt/rustwide/workdir/crates/logger/db-sqlite)
[INFO] [stderr]    Migrating crates/consolidator/core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking file-rotate v0.7.6
[INFO] [stderr]     Checking arrow-ord v58.3.0
[INFO] [stderr]     Checking arrow-string v58.3.0
[INFO] [stderr]     Checking logger-archiver v1.0.0 (/opt/rustwide/workdir/crates/logger/archiver)
[INFO] [stderr]    Migrating crates/logger/db-sqlite/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling logger-db-duckdb v1.0.0 (/opt/rustwide/workdir/crates/logger/db-duckdb)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/consolidator/core/src/lib.rs:310:15
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let mut last_err: Option<E> = None;
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `last_err` calls a custom destructor
[INFO] [stdout]     |         `last_err` will be dropped later as of Edition 2024
[INFO] [stdout] 309 |     for attempt in 1..=max {
[INFO] [stdout] 310 |         match f() {
[INFO] [stdout]     |               ^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Migrating crates/logger/archiver/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling prometheus v0.13.4
[INFO] [stderr]     Checking java-properties v2.0.0
[INFO] [stderr]    Migrating crates/logger/db-duckdb/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking logger-shipper v1.0.0 (/opt/rustwide/workdir/crates/logger/shipper)
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]    Migrating crates/logger/shipper/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking libloading v0.8.9
[INFO] [stderr]    Compiling synclite v1.0.0 (/opt/rustwide/workdir/crates/synclite)
[INFO] [stderr]     Checking logger-config v1.0.0 (/opt/rustwide/workdir/crates/logger/config)
[INFO] [stderr]    Migrating crates/synclite/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking arrow-cast v58.3.0
[INFO] [stderr]    Migrating crates/logger/config/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling jni-sys-macros v0.4.1
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling jni-sys v0.3.1
[INFO] [stderr]     Checking combine v4.6.7
[INFO] [stderr]     Checking unindent v0.2.4
[INFO] [stderr]     Checking cesu8 v1.1.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]    Compiling logger-bindings-python v1.0.0 (/opt/rustwide/workdir/crates/logger/bindings-python)
[INFO] [stderr]    Migrating crates/logger/bindings-python/build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking jni-sys v0.4.1
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking tokio-postgres v0.7.17
[INFO] [stderr]     Checking synclite-observability v1.0.0 (/opt/rustwide/workdir/crates/observability)
[INFO] [stderr]    Migrating crates/observability/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/observability/src/lib.rs (6 fixes)
[INFO] [stderr]     Checking logger-metadata v1.0.0 (/opt/rustwide/workdir/crates/logger/metadata)
[INFO] [stderr]     Checking arrow v58.3.0
[INFO] [stderr]    Compiling pyo3-build-config v0.22.6
[INFO] [stderr]     Checking duckdb v1.10502.0
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/consolidator/core/src/lib.rs:310:15
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let mut last_err: Option<E> = None;
[INFO] [stdout]     |         ------------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `last_err` calls a custom destructor
[INFO] [stdout]     |         `last_err` will be dropped later as of Edition 2024
[INFO] [stdout] 309 |     for attempt in 1..=max {
[INFO] [stdout] 310 |         match f() {
[INFO] [stdout]     |               ^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 336 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/logger/metadata/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]    Migrating crates/logger/shipper/tests/retry_and_clean.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/db-sqlite/tests/end_to_end.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/db-duckdb/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling pyo3-ffi v0.22.6
[INFO] [stderr]     Checking postgres v0.19.13
[INFO] [stderr]    Compiling pyo3-macros-backend v0.22.6
[INFO] [stderr]    Compiling pyo3 v0.22.6
[INFO] [stderr]     Checking consolidator-state v1.0.0 (/opt/rustwide/workdir/crates/consolidator/state)
[INFO] [stderr]    Migrating crates/logger/shipper/tests/rolling_segments.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/consolidator/state/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/consolidator/state/src/lib.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/state/src/lib.rs:2268:20
[INFO] [stdout]      |
[INFO] [stdout] 2255 |                 let mut client = PgClient::connect(conn_str, NoTls).map_err(map_pg_err)?;
[INFO] [stdout]      |                     ----------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `client` calls a custom destructor
[INFO] [stdout]      |                     `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2268 |                 Ok(rows.into_iter().next().and_then(|r| r.get(0)))
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2269 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-postgres-0.7.17/src/statement.rs:15:1
[INFO] [stdout]      |
[INFO] [stdout]   15 | impl Drop for StatementInner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/postgres-0.19.13/src/client.rs:18:1
[INFO] [stdout]      |
[INFO] [stdout]   18 | impl Drop for Client {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/logger/db-duckdb/tests/end_to_end.rs from 2021 edition to 2024
[INFO] [stderr]     Checking consolidator-runtime v1.0.0 (/opt/rustwide/workdir/crates/consolidator/runtime)
[INFO] [stderr]     Checking jni v0.21.1
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/state/src/lib.rs:2268:20
[INFO] [stdout]      |
[INFO] [stdout] 2255 |                 let mut client = PgClient::connect(conn_str, NoTls).map_err(map_pg_err)?;
[INFO] [stdout]      |                     ----------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `client` calls a custom destructor
[INFO] [stdout]      |                     `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2268 |                 Ok(rows.into_iter().next().and_then(|r| r.get(0)))
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2269 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-postgres-0.7.17/src/statement.rs:15:1
[INFO] [stdout]      |
[INFO] [stdout]   15 | impl Drop for StatementInner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/postgres-0.19.13/src/client.rs:18:1
[INFO] [stdout]      |
[INFO] [stdout]   18 | impl Drop for Client {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/consolidator/runtime/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling pyo3-macros v0.22.6
[INFO] [stderr]        Fixed crates/consolidator/runtime/src/lib.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:2426:21
[INFO] [stdout]      |
[INFO] [stdout] 2412 |       let conn = match Connection::open(&path) {
[INFO] [stdout]      |           ----
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `conn` calls a custom destructor
[INFO] [stdout]      |           `conn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2426 |       if let Err(e) = conn.execute(
[INFO] [stdout]      |  _____________________^
[INFO] [stdout] 2427 | |         "INSERT INTO metadata(key, value) VALUES(?1, ?2) ON CONFLICT(key) DO UPDATE SET value = excluded.value",
[INFO] [stdout] 2428 | |         rusqlite::params![key, value_str],
[INFO] [stdout] 2429 | |     ) {
[INFO] [stdout]      | |     ^
[INFO] [stdout]      | |     |
[INFO] [stdout]      | |_____this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2432 |   }
[INFO] [stdout]      |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:2451:11
[INFO] [stdout]      |
[INFO] [stdout] 2441 |       let conn = match Connection::open(path) {
[INFO] [stdout]      |           ----
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `conn` calls a custom destructor
[INFO] [stdout]      |           `conn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2451 |       match conn.execute_batch(
[INFO] [stdout]      |  ___________^
[INFO] [stdout] 2452 | |         "CREATE TABLE IF NOT EXISTS metadata(key TEXT, value TEXT);\n\
[INFO] [stdout] 2453 | |          DELETE FROM metadata WHERE key = 'status';\n\
[INFO] [stdout] 2454 | |          INSERT INTO metadata(key, value) VALUES('status', 'APPLIED');",
[INFO] [stdout] 2455 | |     ) {
[INFO] [stdout]      | |     ^
[INFO] [stdout]      | |     |
[INFO] [stdout]      | |_____this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2468 |   }
[INFO] [stdout]      |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:2799:11
[INFO] [stdout]      |
[INFO] [stdout] 2725 |     let seg_conn = Connection::open(segment_path).map_err(map_sql_err)?;
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `seg_conn` calls a custom destructor
[INFO] [stdout]      |         `seg_conn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2730 |     let mut guard = acquire_schema_replica(layout)?;
[INFO] [stdout]      |         ---------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `guard` calls a custom destructor
[INFO] [stdout]      |         `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2799 |     match NativeCdc::load() {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2881 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libloading-0.8.9/src/os/unix/mod.rs:372:1
[INFO] [stdout]      |
[INFO] [stdout]  372 | impl Drop for Library {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `seg_conn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:81:1
[INFO] [stdout]      |
[INFO] [stdout]   81 | impl Drop for SchemaReplicaGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:6340:25
[INFO] [stdout]      |
[INFO] [stdout] 6340 |         if let Err(e) = replica.execute_batch(&create_sql) {
[INFO] [stdout]      |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |    |
[INFO] [stdout]      |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `e` calls a custom destructor
[INFO] [stdout]      |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 6346 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:7135:33
[INFO] [stdout]      |
[INFO] [stdout] 7133 |             let mut failed: Option<rusqlite::Error> = None;
[INFO] [stdout]      |                 ----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `failed` calls a custom destructor
[INFO] [stdout]      |                 `failed` will be dropped later as of Edition 2024
[INFO] [stdout] 7134 |             for (s, a) in &stmts {
[INFO] [stdout] 7135 |                 if let Err(e) = dst_conn.execute(s, params_from_iter(a.iter())) {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7139 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 7140 |             if let Some(e) = failed {
[INFO] [stdout]      |                         -
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `e` calls a custom destructor
[INFO] [stdout]      |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7155 |             let exec_result = match sql_generator.generate(cached) {
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `exec_result` calls a custom destructor
[INFO] [stdout]      |                 `exec_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7160 |             if let Err(e) = exec_result {
[INFO] [stdout]      |                        -
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `failed` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `exec_result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:7211:33
[INFO] [stdout]      |
[INFO] [stdout] 7211 |                 if let Err(e) = conn.execute_batch(s) {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 7212 |                     tracing::error!(table = %tbl, error = %e, sql = %s, "dst_trigger execution failed (sqlite)");
[INFO] [stdout] 7213 |                     let _ = conn.execute_batch("ROLLBACK;");
[INFO] [stdout]      |                             -------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7216 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:7382:37
[INFO] [stdout]      |
[INFO] [stdout] 7382 |                     if let Err(e) = dst_conn.execute_batch(s) {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 7383 |                         tracing::error!(table = %tbl, error = %e, sql = %s, "dst_trigger execution failed (duckdb)");
[INFO] [stdout] 7384 |                         let _ = dst_conn.execute_batch("ROLLBACK;");
[INFO] [stdout]      |                                 -----------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7387 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8003:37
[INFO] [stdout]      |
[INFO] [stdout] 8003 |                     if let Err(e) = client.batch_execute(s) {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 8004 |                         tracing::error!(table = %tbl, error = %e, sql = %s, "dst_trigger execution failed (postgres)");
[INFO] [stdout] 8005 |                         let _ = client.batch_execute("ROLLBACK");
[INFO] [stdout]      |                                 --------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8008 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8070:15
[INFO] [stdout]      |
[INFO] [stdout] 8070 |         match client.batch_execute(sql) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8076 |             Err(e) => {
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `e` calls a custom destructor
[INFO] [stdout]      |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8111 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8742:35
[INFO] [stdout]      |
[INFO] [stdout] 8741 |             for row in rows {
[INFO] [stdout]      |                 ---    ----
[INFO] [stdout]      |                 |      |
[INFO] [stdout]      |                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `row` calls a custom destructor
[INFO] [stdout]      |                 `row` will be dropped later as of Edition 2024
[INFO] [stdout] 8742 |                 if let Ok(name) = row.try_get::<_, String>(0) {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8745 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-postgres-0.7.17/src/statement.rs:15:1
[INFO] [stdout]      |
[INFO] [stdout]   15 | impl Drop for StatementInner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `row` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `row` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-postgres-0.7.17/src/statement.rs:15:1
[INFO] [stdout]      |
[INFO] [stdout]   15 | impl Drop for StatementInner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8787:25
[INFO] [stdout]      |
[INFO] [stdout] 8787 |         if let Err(e) = conn.execute(stmt, []) {
[INFO] [stdout]      |                    -    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |    |
[INFO] [stdout]      |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `e` calls a custom destructor
[INFO] [stdout]      |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8795 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8801:25
[INFO] [stdout]      |
[INFO] [stdout] 8801 |         if let Err(e) = conn.execute_batch(stmt) {
[INFO] [stdout]      |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |    |
[INFO] [stdout]      |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `e` calls a custom destructor
[INFO] [stdout]      |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8809 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8925:15
[INFO] [stdout]      |
[INFO] [stdout] 8925 |         match client.batch_execute(stmt) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8931 |             Err(e) => {
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `e` calls a custom destructor
[INFO] [stdout]      |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8956 |                 let _ = client.batch_execute("ROLLBACK TO SAVEPOINT synclite_ddl_sp");
[INFO] [stdout]      |                         -------------------------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 8957 |                 let _ = client.batch_execute("RELEASE SAVEPOINT synclite_ddl_sp");
[INFO] [stdout]      |                         ---------------------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8970 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:2426:21
[INFO] [stdout]      |
[INFO] [stdout] 2412 |       let conn = match Connection::open(&path) {
[INFO] [stdout]      |           ----
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `conn` calls a custom destructor
[INFO] [stdout]      |           `conn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2426 |       if let Err(e) = conn.execute(
[INFO] [stdout]      |  _____________________^
[INFO] [stdout] 2427 | |         "INSERT INTO metadata(key, value) VALUES(?1, ?2) ON CONFLICT(key) DO UPDATE SET value = excluded.value",
[INFO] [stdout] 2428 | |         rusqlite::params![key, value_str],
[INFO] [stdout] 2429 | |     ) {
[INFO] [stdout]      | |     ^
[INFO] [stdout]      | |     |
[INFO] [stdout]      | |_____this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2432 |   }
[INFO] [stdout]      |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:2451:11
[INFO] [stdout]      |
[INFO] [stdout] 2441 |       let conn = match Connection::open(path) {
[INFO] [stdout]      |           ----
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `conn` calls a custom destructor
[INFO] [stdout]      |           `conn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2451 |       match conn.execute_batch(
[INFO] [stdout]      |  ___________^
[INFO] [stdout] 2452 | |         "CREATE TABLE IF NOT EXISTS metadata(key TEXT, value TEXT);\n\
[INFO] [stdout] 2453 | |          DELETE FROM metadata WHERE key = 'status';\n\
[INFO] [stdout] 2454 | |          INSERT INTO metadata(key, value) VALUES('status', 'APPLIED');",
[INFO] [stdout] 2455 | |     ) {
[INFO] [stdout]      | |     ^
[INFO] [stdout]      | |     |
[INFO] [stdout]      | |_____this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2468 |   }
[INFO] [stdout]      |   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:2799:11
[INFO] [stdout]      |
[INFO] [stdout] 2725 |     let seg_conn = Connection::open(segment_path).map_err(map_sql_err)?;
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `seg_conn` calls a custom destructor
[INFO] [stdout]      |         `seg_conn` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2730 |     let mut guard = acquire_schema_replica(layout)?;
[INFO] [stdout]      |         ---------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `guard` calls a custom destructor
[INFO] [stdout]      |         `guard` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2799 |     match NativeCdc::load() {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2881 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/libloading-0.8.9/src/os/unix/mod.rs:372:1
[INFO] [stdout]      |
[INFO] [stdout]  372 | impl Drop for Library {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `seg_conn` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl Drop for Connection {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:81:1
[INFO] [stdout]      |
[INFO] [stdout]   81 | impl Drop for SchemaReplicaGuard {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:6340:25
[INFO] [stdout]      |
[INFO] [stdout] 6340 |         if let Err(e) = replica.execute_batch(&create_sql) {
[INFO] [stdout]      |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |    |
[INFO] [stdout]      |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `e` calls a custom destructor
[INFO] [stdout]      |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 6346 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:7135:33
[INFO] [stdout]      |
[INFO] [stdout] 7133 |             let mut failed: Option<rusqlite::Error> = None;
[INFO] [stdout]      |                 ----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `failed` calls a custom destructor
[INFO] [stdout]      |                 `failed` will be dropped later as of Edition 2024
[INFO] [stdout] 7134 |             for (s, a) in &stmts {
[INFO] [stdout] 7135 |                 if let Err(e) = dst_conn.execute(s, params_from_iter(a.iter())) {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7139 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 7140 |             if let Some(e) = failed {
[INFO] [stdout]      |                         -
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         `e` calls a custom destructor
[INFO] [stdout]      |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7155 |             let exec_result = match sql_generator.generate(cached) {
[INFO] [stdout]      |                 -----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `exec_result` calls a custom destructor
[INFO] [stdout]      |                 `exec_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7160 |             if let Err(e) = exec_result {
[INFO] [stdout]      |                        -
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `failed` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `exec_result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:7211:33
[INFO] [stdout]      |
[INFO] [stdout] 7211 |                 if let Err(e) = conn.execute_batch(s) {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 7212 |                     tracing::error!(table = %tbl, error = %e, sql = %s, "dst_trigger execution failed (sqlite)");
[INFO] [stdout] 7213 |                     let _ = conn.execute_batch("ROLLBACK;");
[INFO] [stdout]      |                             -------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7216 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:7382:37
[INFO] [stdout]      |
[INFO] [stdout] 7382 |                     if let Err(e) = dst_conn.execute_batch(s) {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 7383 |                         tracing::error!(table = %tbl, error = %e, sql = %s, "dst_trigger execution failed (duckdb)");
[INFO] [stdout] 7384 |                         let _ = dst_conn.execute_batch("ROLLBACK;");
[INFO] [stdout]      |                                 -----------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 7387 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8003:37
[INFO] [stdout]      |
[INFO] [stdout] 8003 |                     if let Err(e) = client.batch_execute(s) {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 8004 |                         tracing::error!(table = %tbl, error = %e, sql = %s, "dst_trigger execution failed (postgres)");
[INFO] [stdout] 8005 |                         let _ = client.batch_execute("ROLLBACK");
[INFO] [stdout]      |                                 --------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8008 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8070:15
[INFO] [stdout]      |
[INFO] [stdout] 8070 |         match client.batch_execute(sql) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8076 |             Err(e) => {
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `e` calls a custom destructor
[INFO] [stdout]      |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8111 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8742:35
[INFO] [stdout]      |
[INFO] [stdout] 8741 |             for row in rows {
[INFO] [stdout]      |                 ---    ----
[INFO] [stdout]      |                 |      |
[INFO] [stdout]      |                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `row` calls a custom destructor
[INFO] [stdout]      |                 `row` will be dropped later as of Edition 2024
[INFO] [stdout] 8742 |                 if let Ok(name) = row.try_get::<_, String>(0) {
[INFO] [stdout]      |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8745 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-postgres-0.7.17/src/statement.rs:15:1
[INFO] [stdout]      |
[INFO] [stdout]   15 | impl Drop for StatementInner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `row` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `row` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-postgres-0.7.17/src/statement.rs:15:1
[INFO] [stdout]      |
[INFO] [stdout]   15 | impl Drop for StatementInner {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8787:25
[INFO] [stdout]      |
[INFO] [stdout] 8787 |         if let Err(e) = conn.execute(stmt, []) {
[INFO] [stdout]      |                    -    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |    |
[INFO] [stdout]      |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `e` calls a custom destructor
[INFO] [stdout]      |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8795 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8801:25
[INFO] [stdout]      |
[INFO] [stdout] 8801 |         if let Err(e) = conn.execute_batch(stmt) {
[INFO] [stdout]      |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                    |    |
[INFO] [stdout]      |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                    `e` calls a custom destructor
[INFO] [stdout]      |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8809 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:8925:15
[INFO] [stdout]      |
[INFO] [stdout] 8925 |         match client.batch_execute(stmt) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8931 |             Err(e) => {
[INFO] [stdout]      |                 -
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `e` calls a custom destructor
[INFO] [stdout]      |                 `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8956 |                 let _ = client.batch_execute("ROLLBACK TO SAVEPOINT synclite_ddl_sp");
[INFO] [stdout]      |                         -------------------------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 8957 |                 let _ = client.batch_execute("RELEASE SAVEPOINT synclite_ddl_sp");
[INFO] [stdout]      |                         ---------------------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 8970 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/synclite/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/synclite/src/cdc_native.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/synclite/src/status.rs:282:24
[INFO] [stdout]     |
[INFO] [stdout] 281 |           let Some(conn) = open_ro(&p) else { continue };
[INFO] [stdout]     |                    ----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `conn` calls a custom destructor
[INFO] [stdout]     |                    `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 282 |           if let Ok(v) = conn.query_row(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 283 | |             "SELECT commit_id FROM synclite_checkpoint LIMIT 1",
[INFO] [stdout] 284 | |             [],
[INFO] [stdout] 285 | |             |row| row.get::<_, i64>(0),
[INFO] [stdout] 286 | |         ) {
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking logger-runtime v1.0.0 (/opt/rustwide/workdir/crates/logger/runtime)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/synclite/src/status.rs:282:24
[INFO] [stdout]     |
[INFO] [stdout] 281 |           let Some(conn) = open_ro(&p) else { continue };
[INFO] [stdout]     |                    ----
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    `conn` calls a custom destructor
[INFO] [stdout]     |                    `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 282 |           if let Ok(v) = conn.query_row(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 283 | |             "SELECT commit_id FROM synclite_checkpoint LIMIT 1",
[INFO] [stdout] 284 | |             [],
[INFO] [stdout] 285 | |             |row| row.get::<_, i64>(0),
[INFO] [stdout] 286 | |         ) {
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 289 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/logger/runtime/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking synclite-bindings-java v1.0.0 (/opt/rustwide/workdir/crates/logger/bindings-java)
[INFO] [stderr]        Fixed crates/logger/runtime/src/lib.rs (1 fix)
[INFO] [stderr]    Migrating crates/logger/bindings-python/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/logger/runtime/src/lib.rs:199:29
[INFO] [stdout]     |
[INFO] [stdout] 199 |     while let Ok(command) = rx.recv() {
[INFO] [stdout]     |                  -------    ^^^^^^^^^
[INFO] [stdout]     |                  |          |
[INFO] [stdout]     |                  |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                  |          up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  `command` calls a custom destructor
[INFO] [stdout]     |                  `command` will be dropped later as of Edition 2024
[INFO] [stdout] 200 |         match command {
[INFO] [stdout] 201 |             RuntimeCommand::Log { sql, params, reply } => {
[INFO] [stdout]     |                                                -----
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `reply` calls a custom destructor
[INFO] [stdout]     |                                                `reply` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 |             RuntimeCommand::PreUserExecute { sql, params, reply } => {
[INFO] [stdout]     |                                                           -----
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 207 |             RuntimeCommand::PostUserExecute { sql, reply } => {
[INFO] [stdout]     |                                                    -----
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |             RuntimeCommand::PreUserExecuteBatch { sql, batch_params, reply } => {
[INFO] [stdout]     |                                                                      -----
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 213 |             RuntimeCommand::PostUserExecuteBatch { sql, reply } => {
[INFO] [stdout]     |                                                         -----
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 216 |             RuntimeCommand::Commit { reply } => {
[INFO] [stdout]     |                                      -----
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 219 |             RuntimeCommand::FlushLog { reply } => {
[INFO] [stdout]     |                                        -----
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 222 |             RuntimeCommand::Rollback { reply } => {
[INFO] [stdout]     |                                        -----
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |             RuntimeCommand::Close { reply } => {
[INFO] [stdout]     |                                     -----
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `reply` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking synclite-c v1.0.0 (/opt/rustwide/workdir/crates/logger/bindings-c)
[INFO] [stderr]    Migrating crates/synclite/examples/synclite_rusqlite_store.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `_native`
[INFO] [stderr]  --> crates/logger/bindings-python/src/lib.rs
[INFO] [stderr]   = cause: error: expected item, found `{`
[INFO] [stderr]              --> crates/logger/bindings-python/src/lib.rs:90:1
[INFO] [stderr]               |
[INFO] [stderr]            90 | { unsafe #[pymethods]}
[INFO] [stderr]               | ^ expected item
[INFO] [stderr]               |
[INFO] [stderr]               = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 |     device_type: &str,
[INFO] [stdout]    |                  ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     device_name: &str,
[INFO] [stdout]    |                  ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     db_path: &str,
[INFO] [stdout]    |              ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn await_sync(db_path: &str, timeout_seconds: f64) -> PyResult<()> {
[INFO] [stdout]    |                        ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn await_sync(db_path: &str, timeout_seconds: f64) -> PyResult<()> {
[INFO] [stdout]    |                                               ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 |         dst_type: String,
[INFO] [stdout]     |                   ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:102:32
[INFO] [stdout]     |
[INFO] [stdout] 102 |         dst_connection_string: String,
[INFO] [stdout]     |                                ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/logger/bindings-python/src/lib.rs:249:15
[INFO] [stdout]      |
[INFO] [stdout]  248 |         let mut guard = self.lock_inner()?;
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `guard` calls a custom destructor
[INFO] [stdout]      |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout]  249 |         match guard.take() {
[INFO] [stdout]      |               ^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  253 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/synclite/src/logger/app_lock.rs:47:1
[INFO] [stdout]      |
[INFO] [stdout]   47 | impl Drop for AppLock {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:1741:1
[INFO] [stdout]      |
[INFO] [stdout] 1741 | impl Drop for Consolidator {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/logger/shipper/src/lib.rs:200:1
[INFO] [stdout]      |
[INFO] [stdout]  200 | impl Drop for LogShipper {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:156:22
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn open(db_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                      ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn initialize(db_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                            ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:173:36
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn open_with_config(conf_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:180:42
[INFO] [stdout]     |
[INFO] [stdout] 180 |     fn initialize_with_config(conf_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                                          ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |         sql: &str,
[INFO] [stdout]     |              ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 202 |         sql: &str,
[INFO] [stdout]     |              ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn prepare(slf: Py<Self>, sql: &str) -> PyResult<PyStatement> {
[INFO] [stdout]     |                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:212:36
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn prepare(slf: Py<Self>, sql: &str) -> PyResult<PyStatement> {
[INFO] [stdout]     |                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:221:24
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn set_auto_commit(&self, auto_commit: bool) -> PyResult<()> {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:221:44
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn set_auto_commit(&self, auto_commit: bool) -> PyResult<()> {
[INFO] [stdout]     |                                            ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn get_auto_commit(&self) -> PyResult<bool> {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 |     fn commit(&self) -> PyResult<()> {
[INFO] [stdout]     |               ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn rollback(&self) -> PyResult<()> {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn flush(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:247:14
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn close(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:255:23
[INFO] [stdout]     |
[INFO] [stdout] 255 |     fn __enter__(slf: Py<Self>) -> Py<Self> {
[INFO] [stdout]     |                       ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:261:20
[INFO] [stdout]     |
[INFO] [stdout] 261 |         _exc_type: &Bound<'_, PyAny>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |         _exc_value: &Bound<'_, PyAny>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:263:21
[INFO] [stdout]     |
[INFO] [stdout] 263 |         _traceback: &Bound<'_, PyAny>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:333:18
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn add_batch(&mut self, py: Python<'_>, params: &Bound<'_, PyAny>) -> PyResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:333:53
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn add_batch(&mut self, py: Python<'_>, params: &Bound<'_, PyAny>) -> PyResult<()> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:340:20
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn clear_batch(&mut self) {
[INFO] [stdout]     |                    ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:345:22
[INFO] [stdout]     |
[INFO] [stdout] 345 |     fn execute_batch(&mut self, py: Python<'_>) -> PyResult<Vec<u64>> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/logger/bindings-python/src/lib.rs:453:15
[INFO] [stdout]      |
[INFO] [stdout]  452 |         let mut guard = self.lock_inner()?;
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `guard` calls a custom destructor
[INFO] [stdout]      |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout]  453 |         match guard.take() {
[INFO] [stdout]      |               ^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  457 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/synclite/src/logger/app_lock.rs:47:1
[INFO] [stdout]      |
[INFO] [stdout]   47 | impl Drop for AppLock {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:1741:1
[INFO] [stdout]      |
[INFO] [stdout] 1741 | impl Drop for Consolidator {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/logger/shipper/src/lib.rs:200:1
[INFO] [stdout]      |
[INFO] [stdout]  200 | impl Drop for LogShipper {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:374:22
[INFO] [stdout]     |
[INFO] [stdout] 374 |     fn open(db_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                      ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:380:28
[INFO] [stdout]     |
[INFO] [stdout] 380 |     fn initialize(db_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                            ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:386:36
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn open_with_config(conf_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:392:42
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn initialize_with_config(conf_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                                          ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout] 399 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |         sql: &str,
[INFO] [stdout]     |              ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:412:14
[INFO] [stdout]     |
[INFO] [stdout] 412 |         sql: &str,
[INFO] [stdout]     |              ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |     fn prepare(slf: Py<Self>, sql: &str) -> PyResult<PyDuckStatement> {
[INFO] [stdout]     |                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:420:36
[INFO] [stdout]     |
[INFO] [stdout] 420 |     fn prepare(slf: Py<Self>, sql: &str) -> PyResult<PyDuckStatement> {
[INFO] [stdout]     |                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:428:24
[INFO] [stdout]     |
[INFO] [stdout] 428 |     fn set_auto_commit(&self, auto_commit: bool) -> PyResult<()> {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:428:44
[INFO] [stdout]     |
[INFO] [stdout] 428 |     fn set_auto_commit(&self, auto_commit: bool) -> PyResult<()> {
[INFO] [stdout]     |                                            ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:435:24
[INFO] [stdout]     |
[INFO] [stdout] 435 |     fn get_auto_commit(&self) -> PyResult<bool> {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:439:15
[INFO] [stdout]     |
[INFO] [stdout] 439 |     fn commit(&self) -> PyResult<()> {
[INFO] [stdout]     |               ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:443:17
[INFO] [stdout]     |
[INFO] [stdout] 443 |     fn rollback(&self) -> PyResult<()> {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:447:14
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn flush(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:451:14
[INFO] [stdout]     |
[INFO] [stdout] 451 |     fn close(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:459:23
[INFO] [stdout]     |
[INFO] [stdout] 459 |     fn __enter__(slf: Py<Self>) -> Py<Self> {
[INFO] [stdout]     |                       ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:465:20
[INFO] [stdout]     |
[INFO] [stdout] 465 |         _exc_type: &Bound<'_, PyAny>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:466:21
[INFO] [stdout]     |
[INFO] [stdout] 466 |         _exc_value: &Bound<'_, PyAny>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:467:21
[INFO] [stdout]     |
[INFO] [stdout] 467 |         _traceback: &Bound<'_, PyAny>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:509:9
[INFO] [stdout]     |
[INFO] [stdout] 509 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:521:9
[INFO] [stdout]     |
[INFO] [stdout] 521 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:532:18
[INFO] [stdout]     |
[INFO] [stdout] 532 |     fn add_batch(&mut self, py: Python<'_>, params: &Bound<'_, PyAny>) -> PyResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:532:53
[INFO] [stdout]     |
[INFO] [stdout] 532 |     fn add_batch(&mut self, py: Python<'_>, params: &Bound<'_, PyAny>) -> PyResult<()> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:538:20
[INFO] [stdout]     |
[INFO] [stdout] 538 |     fn clear_batch(&mut self) {
[INFO] [stdout]     |                    ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:542:22
[INFO] [stdout]     |
[INFO] [stdout] 542 |     fn execute_batch(&mut self, py: Python<'_>) -> PyResult<Vec<u64>> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/synclite/examples/synclite_device_artifacts_demo.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/synclite/examples/synclite_duckdb.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/synclite/tests/sync_status.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/synclite/tests/facade.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/logger/bindings-java/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/synclite/tests/facade.rs:148:28
[INFO] [stdout]     |
[INFO] [stdout] 147 |         if let Ok(conn) = Connection::open(db_path) {
[INFO] [stdout]     |                   ----    -------------------------
[INFO] [stdout]     |                   |       |
[INFO] [stdout]     |                   |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `conn` calls a custom destructor
[INFO] [stdout]     |                   `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 148 |             if let Ok(n) = conn.query_row(sql, [], |r| r.get::<_, i64>(0)) {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/logger/bindings-java/src/lib.rs (16 fixes)
[INFO] [stderr]    Migrating crates/logger/bindings-c/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/logger/bindings-c/src/lib.rs (57 fixes)
[INFO] [stderr]    Migrating crates/synclite/examples/synclite_duckdb_store.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/synclite/tests/device_integration.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `_native`
[INFO] [stderr]  --> crates/logger/bindings-python/src/lib.rs
[INFO] [stderr]   = cause: error: expected item, found `{`
[INFO] [stderr]              --> crates/logger/bindings-python/src/lib.rs:90:1
[INFO] [stderr]               |
[INFO] [stderr]            90 | { unsafe #[pymethods]}
[INFO] [stderr]               | ^ expected item
[INFO] [stderr]               |
[INFO] [stderr]               = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 |     device_type: &str,
[INFO] [stdout]    |                  ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |     device_name: &str,
[INFO] [stdout]    |                  ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:50:14
[INFO] [stdout]    |
[INFO] [stdout] 50 |     db_path: &str,
[INFO] [stdout]    |              ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn await_sync(db_path: &str, timeout_seconds: f64) -> PyResult<()> {
[INFO] [stdout]    |                        ^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/logger/bindings-python/src/lib.rs:67:47
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn await_sync(db_path: &str, timeout_seconds: f64) -> PyResult<()> {
[INFO] [stdout]    |                                               ^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:101:19
[INFO] [stdout]     |
[INFO] [stdout] 101 |         dst_type: String,
[INFO] [stdout]     |                   ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:102:32
[INFO] [stdout]     |
[INFO] [stdout] 102 |         dst_connection_string: String,
[INFO] [stdout]     |                                ^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:116:17
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn __repr__(&self) -> String {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:90:1
[INFO] [stdout]     |
[INFO] [stdout]  90 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/logger/bindings-python/src/lib.rs:249:15
[INFO] [stdout]      |
[INFO] [stdout]  248 |         let mut guard = self.lock_inner()?;
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `guard` calls a custom destructor
[INFO] [stdout]      |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout]  249 |         match guard.take() {
[INFO] [stdout]      |               ^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  253 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/synclite/src/logger/app_lock.rs:47:1
[INFO] [stdout]      |
[INFO] [stdout]   47 | impl Drop for AppLock {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:1741:1
[INFO] [stdout]      |
[INFO] [stdout] 1741 | impl Drop for Consolidator {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/logger/shipper/src/lib.rs:200:1
[INFO] [stdout]      |
[INFO] [stdout]  200 | impl Drop for LogShipper {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:156:22
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn open(db_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                      ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:164:28
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn initialize(db_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                            ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:173:36
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn open_with_config(conf_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:180:42
[INFO] [stdout]     |
[INFO] [stdout] 180 |     fn initialize_with_config(conf_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                                          ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:190:14
[INFO] [stdout]     |
[INFO] [stdout] 190 |         sql: &str,
[INFO] [stdout]     |              ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:202:14
[INFO] [stdout]     |
[INFO] [stdout] 202 |         sql: &str,
[INFO] [stdout]     |              ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn prepare(slf: Py<Self>, sql: &str) -> PyResult<PyStatement> {
[INFO] [stdout]     |                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:212:36
[INFO] [stdout]     |
[INFO] [stdout] 212 |     fn prepare(slf: Py<Self>, sql: &str) -> PyResult<PyStatement> {
[INFO] [stdout]     |                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:221:24
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn set_auto_commit(&self, auto_commit: bool) -> PyResult<()> {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:221:44
[INFO] [stdout]     |
[INFO] [stdout] 221 |     fn set_auto_commit(&self, auto_commit: bool) -> PyResult<()> {
[INFO] [stdout]     |                                            ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |     fn get_auto_commit(&self) -> PyResult<bool> {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:232:15
[INFO] [stdout]     |
[INFO] [stdout] 232 |     fn commit(&self) -> PyResult<()> {
[INFO] [stdout]     |               ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn rollback(&self) -> PyResult<()> {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:243:14
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn flush(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:247:14
[INFO] [stdout]     |
[INFO] [stdout] 247 |     fn close(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:255:23
[INFO] [stdout]     |
[INFO] [stdout] 255 |     fn __enter__(slf: Py<Self>) -> Py<Self> {
[INFO] [stdout]     |                       ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:150:1
[INFO] [stdout]     |
[INFO] [stdout] 150 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:260:9
[INFO] [stdout]     |
[INFO] [stdout] 260 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:261:20
[INFO] [stdout]     |
[INFO] [stdout] 261 |         _exc_type: &Bound<'_, PyAny>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |         _exc_value: &Bound<'_, PyAny>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:263:21
[INFO] [stdout]     |
[INFO] [stdout] 263 |         _traceback: &Bound<'_, PyAny>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:333:18
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn add_batch(&mut self, py: Python<'_>, params: &Bound<'_, PyAny>) -> PyResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:333:53
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn add_batch(&mut self, py: Python<'_>, params: &Bound<'_, PyAny>) -> PyResult<()> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:340:20
[INFO] [stdout]     |
[INFO] [stdout] 340 |     fn clear_batch(&mut self) {
[INFO] [stdout]     |                    ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:345:22
[INFO] [stdout]     |
[INFO] [stdout] 345 |     fn execute_batch(&mut self, py: Python<'_>) -> PyResult<Vec<u64>> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:303:1
[INFO] [stdout]     |
[INFO] [stdout] 303 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/logger/bindings-python/src/lib.rs:453:15
[INFO] [stdout]      |
[INFO] [stdout]  452 |         let mut guard = self.lock_inner()?;
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `guard` calls a custom destructor
[INFO] [stdout]      |             `guard` will be dropped later as of Edition 2024
[INFO] [stdout]  453 |         match guard.take() {
[INFO] [stdout]      |               ^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  457 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/synclite/src/logger/app_lock.rs:47:1
[INFO] [stdout]      |
[INFO] [stdout]   47 | impl Drop for AppLock {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:1741:1
[INFO] [stdout]      |
[INFO] [stdout] 1741 | impl Drop for Consolidator {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> crates/logger/shipper/src/lib.rs:200:1
[INFO] [stdout]      |
[INFO] [stdout]  200 | impl Drop for LogShipper {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `guard` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:374:22
[INFO] [stdout]     |
[INFO] [stdout] 374 |     fn open(db_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                      ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:380:28
[INFO] [stdout]     |
[INFO] [stdout] 380 |     fn initialize(db_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                            ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:386:36
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn open_with_config(conf_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:392:42
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn initialize_with_config(conf_path: &str) -> PyResult<Self> {
[INFO] [stdout]     |                                          ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:399:9
[INFO] [stdout]     |
[INFO] [stdout] 399 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:401:14
[INFO] [stdout]     |
[INFO] [stdout] 401 |         sql: &str,
[INFO] [stdout]     |              ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:412:14
[INFO] [stdout]     |
[INFO] [stdout] 412 |         sql: &str,
[INFO] [stdout]     |              ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |     fn prepare(slf: Py<Self>, sql: &str) -> PyResult<PyDuckStatement> {
[INFO] [stdout]     |                     ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:420:36
[INFO] [stdout]     |
[INFO] [stdout] 420 |     fn prepare(slf: Py<Self>, sql: &str) -> PyResult<PyDuckStatement> {
[INFO] [stdout]     |                                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:428:24
[INFO] [stdout]     |
[INFO] [stdout] 428 |     fn set_auto_commit(&self, auto_commit: bool) -> PyResult<()> {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:428:44
[INFO] [stdout]     |
[INFO] [stdout] 428 |     fn set_auto_commit(&self, auto_commit: bool) -> PyResult<()> {
[INFO] [stdout]     |                                            ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:435:24
[INFO] [stdout]     |
[INFO] [stdout] 435 |     fn get_auto_commit(&self) -> PyResult<bool> {
[INFO] [stdout]     |                        ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:439:15
[INFO] [stdout]     |
[INFO] [stdout] 439 |     fn commit(&self) -> PyResult<()> {
[INFO] [stdout]     |               ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:443:17
[INFO] [stdout]     |
[INFO] [stdout] 443 |     fn rollback(&self) -> PyResult<()> {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:447:14
[INFO] [stdout]     |
[INFO] [stdout] 447 |     fn flush(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:451:14
[INFO] [stdout]     |
[INFO] [stdout] 451 |     fn close(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:459:23
[INFO] [stdout]     |
[INFO] [stdout] 459 |     fn __enter__(slf: Py<Self>) -> Py<Self> {
[INFO] [stdout]     |                       ^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:371:1
[INFO] [stdout]     |
[INFO] [stdout] 371 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:464:9
[INFO] [stdout]     |
[INFO] [stdout] 464 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:465:20
[INFO] [stdout]     |
[INFO] [stdout] 465 |         _exc_type: &Bound<'_, PyAny>,
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:466:21
[INFO] [stdout]     |
[INFO] [stdout] 466 |         _exc_value: &Bound<'_, PyAny>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:467:21
[INFO] [stdout]     |
[INFO] [stdout] 467 |         _traceback: &Bound<'_, PyAny>,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:509:9
[INFO] [stdout]     |
[INFO] [stdout] 509 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:521:9
[INFO] [stdout]     |
[INFO] [stdout] 521 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:532:18
[INFO] [stdout]     |
[INFO] [stdout] 532 |     fn add_batch(&mut self, py: Python<'_>, params: &Bound<'_, PyAny>) -> PyResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:532:53
[INFO] [stdout]     |
[INFO] [stdout] 532 |     fn add_batch(&mut self, py: Python<'_>, params: &Bound<'_, PyAny>) -> PyResult<()> {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:538:20
[INFO] [stdout]     |
[INFO] [stdout] 538 |     fn clear_batch(&mut self) {
[INFO] [stdout]     |                    ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:542:22
[INFO] [stdout]     |
[INFO] [stdout] 542 |     fn execute_batch(&mut self, py: Python<'_>) -> PyResult<Vec<u64>> {
[INFO] [stdout]     |                      ^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/logger/bindings-python/src/lib.rs:505:1
[INFO] [stdout]     |
[INFO] [stdout] 505 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/synclite/tests/pause_resume.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/synclite/tests/device_integration.rs:843:32
[INFO] [stdout]     |
[INFO] [stdout] 842 |         if let Ok(conn) = Connection::open(db) {
[INFO] [stdout]     |                   ----    --------------------
[INFO] [stdout]     |                   |       |
[INFO] [stdout]     |                   |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   |       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   `conn` calls a custom destructor
[INFO] [stdout]     |                   `conn` will be dropped later as of Edition 2024
[INFO] [stdout] 843 |             if let Ok(count) = conn.query_row::<i64, _, _>(&sql, [], |r| r.get(0)) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 848 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `conn` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/rusqlite-0.39.0/src/lib.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl Drop for Connection {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/synclite/examples/synclite_streaming.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/synclite/examples/synclite_rusqlite.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/synclite/tests/reinitialize.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/logger/runtime/src/lib.rs:199:29
[INFO] [stdout]     |
[INFO] [stdout] 199 |     while let Ok(command) = rx.recv() {
[INFO] [stdout]     |                  -------    ^^^^^^^^^
[INFO] [stdout]     |                  |          |
[INFO] [stdout]     |                  |          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                  |          up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  `command` calls a custom destructor
[INFO] [stdout]     |                  `command` will be dropped later as of Edition 2024
[INFO] [stdout] 200 |         match command {
[INFO] [stdout] 201 |             RuntimeCommand::Log { sql, params, reply } => {
[INFO] [stdout]     |                                                -----
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                `reply` calls a custom destructor
[INFO] [stdout]     |                                                `reply` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 204 |             RuntimeCommand::PreUserExecute { sql, params, reply } => {
[INFO] [stdout]     |                                                           -----
[INFO] [stdout]     |                                                           |
[INFO] [stdout]     |                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 207 |             RuntimeCommand::PostUserExecute { sql, reply } => {
[INFO] [stdout]     |                                                    -----
[INFO] [stdout]     |                                                    |
[INFO] [stdout]     |                                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |             RuntimeCommand::PreUserExecuteBatch { sql, batch_params, reply } => {
[INFO] [stdout]     |                                                                      -----
[INFO] [stdout]     |                                                                      |
[INFO] [stdout]     |                                                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 213 |             RuntimeCommand::PostUserExecuteBatch { sql, reply } => {
[INFO] [stdout]     |                                                         -----
[INFO] [stdout]     |                                                         |
[INFO] [stdout]     |                                                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 216 |             RuntimeCommand::Commit { reply } => {
[INFO] [stdout]     |                                      -----
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 219 |             RuntimeCommand::FlushLog { reply } => {
[INFO] [stdout]     |                                        -----
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 222 |             RuntimeCommand::Rollback { reply } => {
[INFO] [stdout]     |                                        -----
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 225 |             RuntimeCommand::Close { reply } => {
[INFO] [stdout]     |                                     -----
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                     `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `command` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `reply` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 07s
[INFO] [stderr] crater-edition-check: logger-core v1.0.0 (/opt/rustwide/workdir/crates/logger/core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-config v1.0.0 (/opt/rustwide/workdir/crates/logger/config) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-metadata v1.0.0 (/opt/rustwide/workdir/crates/logger/metadata) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-db-traits v1.0.0 (/opt/rustwide/workdir/crates/logger/db-traits) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-log v1.0.0 (/opt/rustwide/workdir/crates/logger/log) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-db-sqlite v1.0.0 (/opt/rustwide/workdir/crates/logger/db-sqlite) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-db-duckdb v1.0.0 (/opt/rustwide/workdir/crates/logger/db-duckdb) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-archiver v1.0.0 (/opt/rustwide/workdir/crates/logger/archiver) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-shipper v1.0.0 (/opt/rustwide/workdir/crates/logger/shipper) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: consolidator-core v1.0.0 (/opt/rustwide/workdir/crates/consolidator/core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: consolidator-state v1.0.0 (/opt/rustwide/workdir/crates/consolidator/state) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: consolidator-runtime v1.0.0 (/opt/rustwide/workdir/crates/consolidator/runtime) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: synclite-observability v1.0.0 (/opt/rustwide/workdir/crates/observability) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: synclite v1.0.0 (/opt/rustwide/workdir/crates/synclite) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-runtime v1.0.0 (/opt/rustwide/workdir/crates/logger/runtime) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: synclite-c v1.0.0 (/opt/rustwide/workdir/crates/logger/bindings-c) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: logger-bindings-python v1.0.0 (/opt/rustwide/workdir/crates/logger/bindings-python) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: synclite-bindings-java v1.0.0 (/opt/rustwide/workdir/crates/logger/bindings-java) updating edition from 2021 to 2024
[INFO] [stderr]     Checking logger-core v1.0.0 (/opt/rustwide/workdir/crates/logger/core)
[INFO] [stderr]     Checking consolidator-core v1.0.0 (/opt/rustwide/workdir/crates/consolidator/core)
[INFO] [stderr]    Compiling logger-db-duckdb v1.0.0 (/opt/rustwide/workdir/crates/logger/db-duckdb)
[INFO] [stderr]     Checking synclite-observability v1.0.0 (/opt/rustwide/workdir/crates/observability)
[INFO] [stderr]    Compiling synclite v1.0.0 (/opt/rustwide/workdir/crates/synclite)
[INFO] [stderr]    Compiling logger-bindings-python v1.0.0 (/opt/rustwide/workdir/crates/logger/bindings-python)
[INFO] [stderr]     Checking logger-db-traits v1.0.0 (/opt/rustwide/workdir/crates/logger/db-traits)
[INFO] [stderr]     Checking logger-log v1.0.0 (/opt/rustwide/workdir/crates/logger/log)
[INFO] [stderr]     Checking logger-archiver v1.0.0 (/opt/rustwide/workdir/crates/logger/archiver)
[INFO] [stderr]     Checking consolidator-state v1.0.0 (/opt/rustwide/workdir/crates/consolidator/state)
[INFO] [stderr]     Checking logger-config v1.0.0 (/opt/rustwide/workdir/crates/logger/config)
[INFO] [stderr]     Checking logger-shipper v1.0.0 (/opt/rustwide/workdir/crates/logger/shipper)
[INFO] [stderr]     Checking logger-metadata v1.0.0 (/opt/rustwide/workdir/crates/logger/metadata)
[INFO] [stderr]     Checking logger-db-sqlite v1.0.0 (/opt/rustwide/workdir/crates/logger/db-sqlite)
[INFO] [stderr]     Checking consolidator-runtime v1.0.0 (/opt/rustwide/workdir/crates/consolidator/runtime)
[INFO] [stdout] warning: field `column_primary_key` is never read
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:6149:5
[INFO] [stdout]      |
[INFO] [stdout] 6140 | struct CdcSchemaColumn {
[INFO] [stdout]      |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 6149 |     column_primary_key: i64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CdcSchemaColumn` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_segment_entries_with_resume` is never used
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:6217:4
[INFO] [stdout]      |
[INFO] [stdout] 6217 | fn read_segment_entries_with_resume(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_create_table_schema_columns` is never used
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:6543:4
[INFO] [stdout]      |
[INFO] [stdout] 6543 | fn parse_create_table_schema_columns(sql: &str) -> Option<Vec<CdcSchemaColumn>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> crates/synclite/src/cdc_native.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             unsafe { env::set_var(ENV_VAR, &dir) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> crates/synclite/src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | #![forbid(unsafe_code)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]   --> crates/synclite/src/cdc_native.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             unsafe { env::set_var(ENV_VAR, &dir) };
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> crates/synclite/src/lib.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | #![forbid(unsafe_code)]
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `column_primary_key` is never read
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:6149:5
[INFO] [stdout]      |
[INFO] [stdout] 6140 | struct CdcSchemaColumn {
[INFO] [stdout]      |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 6149 |     column_primary_key: i64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `CdcSchemaColumn` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_segment_entries_with_resume` is never used
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:6217:4
[INFO] [stdout]      |
[INFO] [stdout] 6217 | fn read_segment_entries_with_resume(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_create_table_schema_columns` is never used
[INFO] [stdout]     --> crates/consolidator/runtime/src/lib.rs:6543:4
[INFO] [stdout]      |
[INFO] [stdout] 6543 | fn parse_create_table_schema_columns(sql: &str) -> Option<Vec<CdcSchemaColumn>> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `synclite` (lib test) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `synclite` (lib) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "81316fd1a6451338a499b5200b0d94aa3cc36e57bb2b13c391bbf59c6de4fbf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81316fd1a6451338a499b5200b0d94aa3cc36e57bb2b13c391bbf59c6de4fbf3", kill_on_drop: false }`
[INFO] [stdout] 81316fd1a6451338a499b5200b0d94aa3cc36e57bb2b13c391bbf59c6de4fbf3
